package edu.sctu.practice.class01.zhengsenwen.JavaLesson.guava;


import com.google.common.base.Charsets;
import com.google.common.io.Files;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.File;
import java.io.IOException;

/**
 * Created by zhengsenwen on 2015/11/26.
 */
public class Client {

    public static void main(String[] args) {

        // http://www.bxwx.org/b/70/70093/index.html

        //数据采集
        /**
         * <div id ="demo"><div/>
         * $("demo");
         *
         */

        String url = "http://www.bxwx.org/b/70/70093/index.html";

        try {

            Document document = Jsoup.connect(url).timeout(5000).get();

//            System.out.println(document);

            Elements elements = document.select("dd > a"); //获取到网页里所有的 dd 下面的 a 标签


            /**
             * <a href="xxxxxxxxx">sssssssssssss<a/>      //attribute
             */

            //DOM树

            //遍历所有的a标签
            for (Element element : elements) {
                System.out.println(element.text());  //获取到小说的章节 a 标签里的内容 href 和 章节名称
                System.out.println(element.attr("href"));  //获取到连接地址

                String title = element.text();
                String dataUrl = element.attr("href");

//
//                //
                Files.append(element.text() + " - " + element.attr("href"), new File("D:\\456.txt"), Charsets.UTF_8);
                Files.append("\r\n", new File("D:\\456.txt"), Charsets.UTF_8);

                getContent(title, dataUrl);


            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void getContent(String title, String dataUrl) {

        try {
            Document document = (Document) Jsoup.connect("http://www.bxwx.org/b/70/70093/" + dataUrl).timeout(5000).get();

            Element element = document.select("div#content").get(0);   //得到小说的内容  小说放在 div id="content" 里面
            String content = element.text();  //构造一个get请求  服务器返回一段html

            Files.createParentDirs(new File("D:\\完美世界\\demo.txt")); //创建文件夹

            Files.write(content.getBytes(), new File("D:\\" + title + ".txt"));    ///保存小说章节名称和详情的url，统一放在D盘


        } catch (IOException e) {
            e.printStackTrace();
        }

    }


}
